package co.baiku.boot.im.tencent.request.data;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.List;

/**
 * 成员
 */
public class Member {
    /**
     * 成员（必填）
     */
    @JsonProperty("Member_Account")
    private String memberAccount;
    /**
     * 赋予该成员的身份，目前备选项只有 Admin（选填）
     */
    @JsonProperty("role")
    private String Role;
    /**
     * 群成员维度自定义字段（选填）
     */
    @JsonProperty("AppMemberDefinedData")
    private List<DefinedData> appMemberDefinedData;

    // 属性
    /**
     * 入群时间
     */
    @JsonProperty("JoinTime")
    private Long joinTime;//1425976500
    @JsonProperty("MsgSeq")
    private Integer msgSeq;
    @JsonProperty("MsgFlag")
    private Integer msgFlag;
    /**
     * 最后一次发消息的时间
     */
    @JsonProperty("LastSendMsgTime")
    private Integer lastSendMsgTime;
    /**
     * 0表示未被禁言，否则为禁言的截止时间
     */
    @JsonProperty("ShutUpUntil")
    private Long shutUpUntil;
    /**
     * 操作反馈(添加群成员使用 加人结果：0 为失败；1 为成功；2 为已经是群成员)
     */
    @JsonProperty("Result")
    private Integer result;

    public Member() {
    }

    public Member(String memberAccount) {
        this.memberAccount = memberAccount;
    }

    public String getMemberAccount() {
        return memberAccount;
    }

    public void setMemberAccount(String memberAccount) {
        this.memberAccount = memberAccount;
    }

    public String getRole() {
        return Role;
    }

    public void setRole(String role) {
        Role = role;
    }

    public List<DefinedData> getAppMemberDefinedData() {
        return appMemberDefinedData;
    }

    public void setAppMemberDefinedData(List<DefinedData> appMemberDefinedData) {
        this.appMemberDefinedData = appMemberDefinedData;
    }

    public Long getJoinTime() {
        return joinTime;
    }

    public void setJoinTime(Long joinTime) {
        this.joinTime = joinTime;
    }

    public Integer getMsgSeq() {
        return msgSeq;
    }

    public void setMsgSeq(Integer msgSeq) {
        this.msgSeq = msgSeq;
    }

    public Integer getMsgFlag() {
        return msgFlag;
    }

    public void setMsgFlag(Integer msgFlag) {
        this.msgFlag = msgFlag;
    }

    public Integer getLastSendMsgTime() {
        return lastSendMsgTime;
    }

    public void setLastSendMsgTime(Integer lastSendMsgTime) {
        this.lastSendMsgTime = lastSendMsgTime;
    }

    public Long getShutUpUntil() {
        return shutUpUntil;
    }

    public void setShutUpUntil(Long shutUpUntil) {
        this.shutUpUntil = shutUpUntil;
    }
}
